use clap::Parser;

#[derive(Parser)]
#[command(name = "tms-mcp")]
#[command(about = "TMS MCP Server - Model Context Protocol server for Transportation Management System")]
pub struct CommandArguments {
    /// TMS gRPC server URL
    #[arg(long, default_value = "http://localhost:50051")]
    pub tms_server: String,
    
    /// Configuration file path
    #[arg(long, short = 'c')]
    pub config: Option<String>,
    
    /// Log level (debug, info, warn, error)
    #[arg(long, default_value = "info")]
    pub log_level: String,
    
    /// Generate default configuration file
    #[arg(long)]
    pub generate_config: Option<String>,
    
    /// Connection timeout in milliseconds
    #[arg(long, default_value = "10000")]
    pub connection_timeout_ms: u64,
    
    /// Request timeout in milliseconds
    #[arg(long, default_value = "30000")]
    pub request_timeout_ms: u64,
    
    /// Maximum retry attempts
    #[arg(long, default_value = "3")]
    pub max_retries: u32,
}